package com.cloudkinto.vo.order.inbound;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;
import java.util.List;

/**
 * @author long
 */
@Data
public class OrderInputDetailVo {

    private Long id;

    @ApiModelProperty("入库单号")
    private String sourceNo;

    @ApiModelProperty("仓库id")
    private Long warehouseId;

    @ApiModelProperty("客户id")
    private Long companyId;

    @ApiModelProperty("到仓方式")
    private Integer arriveMethod;

    @ApiModelProperty("物流跟踪号")
    private String trackingNumber;

    @ApiModelProperty("参考单号")
    private String referenceNumber;

    @ApiModelProperty("入库类型")
    private Integer inboundType;

    @ApiModelProperty("已收产品数")
    private Integer receiptSkuQty;

    @ApiModelProperty("产品总数")
    private Integer skuTotalQty;

    @ApiModelProperty("已收箱数")
    private Integer receiptBoxQty;

    @ApiModelProperty("总箱数")
    private Integer boxTotalQty;

    @ApiModelProperty("已收托盘数")
    private Integer receiptPalletsQty;

    @ApiModelProperty("预报总托盘数")
    private Integer palletsTotalQty;

    @ApiModelProperty("已收体积")
    private BigDecimal receiptVolume = BigDecimal.ZERO;

    @ApiModelProperty("总体积")
    private BigDecimal volumeTotal = BigDecimal.ZERO;

    @ApiModelProperty("已收重量")
    private BigDecimal receiptWeight = BigDecimal.ZERO;

    @ApiModelProperty("总重量")
    private BigDecimal weightTotal = BigDecimal.ZERO;

    @ApiModelProperty("正品")
    private Integer goodQty = 0;

    @ApiModelProperty("次品")
    private Integer badQty = 0;

    @ApiModelProperty("状态")
    private Integer status;

    @ApiModelProperty("有无附件")
    private Boolean appendixFlag;

    private String fileIds;

    private List<Long> fileIdList;

    @ApiModelProperty("预计到达日期")
    private Date expectedDate;

    @ApiModelProperty("预售库存")
    private Integer reserveFlag;

    private String remark;

    /**
     * 按单箱
     */
    private Collection<OrderInputBoxDetailVo> boxDetailList;

    /**
     * 按产品
     */
    private Collection<OrderInputProductDetailVo> productDetailList;
}
